Vibration notifications received from vibration sensors

ABSTRACT

Example implementations relate to receiving vibration notifications from vibration sensors. In example implementations, a subset of a plurality of vibration sensors from which vibration notifications are expected may be identified based on a position of a train along a track. The plurality of vibration sensors may be arranged in a predetermined order on the track. Whether vibration notifications have not been received from consecutive, with respect to the predetermined order, vibration sensors in the subset may be determined.

BACKGROUND

Vehicles that travel along tracks may be used to transport humans aswell as cargo. A vehicle moving along a track may cause the track tovibrate, and such vibrations may be detected along portions of the trackthat are miles away from the physical location of the vehicle. Sensorsthat include piezoelectric or magnetostrictive materials may be placedalong the track, and may convert energy from vibrations into electriccharge.

BRIEF DESCRIPTION OF THE DRAWINGS

The following detailed description references the drawings, wherein:

FIG. 1 is a block diagram of an example system that includes a receivermodule and a plurality of vibration sensors;

FIG. 2 is a block diagram of an example vibration sensor;

FIG. 3 is a block diagram of an example device that includes amachine-readable storage medium encoded with instructions to enabledetection of a condition needing repair along a track;

FIG. 4 is a block diagram of an example device that includes amachine-readable storage medium encoded with instructions to enableidentification of a location of a condition needing repair along atrack;

FIG. 5 is a flowchart of an example method for detecting a conditionneeding repair along a track;

FIG. 6 is a flowchart of an example method for requesting a repair for alocation along a track; and

FIG. 7 is a flowchart of an example method for triggering an alarm basedon whether expected vibration notifications are received.

DETAILED DESCRIPTION

Trains are used to transport humans as well as cargo. As used herein,the term “train” should be understood to refer to a vehicle that travelson at least one rail. Examples of trains include, but are not limitedto, railroad locomotives and railroad cars, subway/metro cars, trams,monorail cars, commuter rail cars, and light rail vehicles. A rail, orrails, on which a train travels, along with supporting structures (e.g.,railroad ties, fasteners, ballast) of the rail(s), may be collectivelyreferred to herein as a “track”. A crack or break in a track may cause atrain to derail, which may result in many people being injured or evenkilled (e.g., if the train is carrying people, or if the train hitspeople or cars/buildings with people inside after derailing). Derailedtrains may also cause property damage, for example to cargo beingcarried by the train and/or property hit by the train after it derails.The ability to warn a train operator about a crack or break in a trackbefore the train reaches the location of the crack/break may prevent thetrain from derailing, as well as save lives and minimize monetarylosses. In light of the above, the present disclosure provides forreceiving vibration notifications from vibration sensors along tracks,allowing breaks/cracks in tracks to be detected and avoided.

Referring now to the figures, FIG. 1 is a block diagram of an examplesystem 100 that includes a receiver module 104 and vibration sensors 102a-i. As used herein, the terms “include”, “have”, and “comprise” areinterchangeable and should be understood to have the same meaning.Vibration sensors 102 a-i may be arranged in a predetermined order ontrack 106. Each vibration sensor 102 a-i may be on a railroad tie oftrack 106, or on a rail of track 106 (e.g., if track 106 is aballastless track). In some implementations, some vibration sensors maybe on a rail, and others may be on railroad ties. A vibration sensor maybe attached to track 106 using any suitable technique. For example, avibration sensor may be screwed into a bracket attached to a rail orrailroad tie.

Although nine vibration sensors are shown in FIG. 1, it should beunderstood that system 100 may include more vibration sensors or lessvibration sensors, and that the concepts discussed herein may beapplicable to a track having more or less than the number of vibrationsensors shown in FIG. 1. Vibration sensors may be evenly spaced on track106. For example, vibration sensors may be placed every half-mile alongtrack 106, or every mile. Any other suitable spacing may be used, andthe distances between consecutive vibration sensors may vary along track106. In some implementations, the spacing of vibration sensors may varybased on the terrain and/or environment in which track 106 is laid. Forexample, for a segment of track 106 in a plains region where line ofsight extends for miles, vibration sensors may be placed every mile. Fora segment of track 106 in a mountainous region, and/or that goes throughtunnels, and/or that twists and turns frequently, vibration sensors maybe placed every quarter-mile or half-mile.

Each vibration sensor along track 106 (e.g., each of vibration sensors102 a-i) may generate electrical charge in response to vibrations. Forexample, a vibration sensor may include a piezoelectric material (e.g.,piezoelectric crystal) or magnetostrictive material. Vibrations alongtrack 106 may be caused by movement of a train on track 106, and may befelt more strongly by vibration sensors closer to the train. Eachvibration sensor in system 100 may transmit vibration notifications inresponse to vibration levels above a threshold level. In someimplementations, a vibration sensor may transmit a vibrationnotification when an amount of electrical charge generated correspondsto a vibration level above a threshold level. It should be understoodthat a vibration sensor may transmit a vibration notification inresponse to a vibration level equal to the threshold level.

A vibration notification may be, for example, a logical ‘1’ or ‘0’, or amulti-bit value. A vibration sensor may transmit a vibrationnotification each time a determination is made that a vibration levelexperienced by the vibration sensor equals or exceeds a threshold level.The same value may be transmitted as the vibration notification eachtime such a determination is made. If a vibration level experienced bythe vibration sensor is below the threshold level, the vibration sensormay not transmit anything.

The threshold level may be set based on how much vibration isexperienced by a vibration sensor within a certain distance of a trainon track 106 when track 106 has no defects (e.g., cracks or breaks). Forexample, the threshold level may be set such that when a train is movingalong a defect-free part of track 106, all vibration sensors within twomiles of the train experience vibrations above the threshold level. Whena train is at a given position on track 106, each vibration sensorwithin two miles in front of the train and each vibration sensor withintwo miles behind the train may transmit a vibration notification. Iftrack 106 is broken or cracked at some distance less than two miles fromthe train, the vibrations caused by movement of the train may not fullypropagate along track 106 beyond the break/crack, and thus a vibrationsensor located between the break/crack and a 2-mile distance from thetrain may not experience vibrations above the threshold level despitebeing within 2 miles of the train, and therefore not transmit avibration notification.

Each vibration sensor along track 106 may transmit, with each vibrationnotification, a sensor identification code stored on the respectivevibration sensor. A sensor identification code may be a string ofnumbers, letters, and/or other symbols that correspond to a vibrationsensor, and may be used to distinguish a vibration sensor from othervibration sensors. A sensor identification code stored on a particularvibration sensor may be unique to that particular vibration sensor(e.g., each vibration sensor along track 106 may have a different sensoridentification code). Vibration notifications and sensor identificationcodes transmitted by vibration sensors along track 106 may be receivedby receiver module 104, which may use received sensor identificationcodes to determine from which vibration sensors vibration notificationshave been received. In some implementations, vibration notifications andsensor identification codes may be wirelessly transmitted and received.

Receiver module 104 may be communicatively coupled to vibration sensors102 a-i and to a train on track 106. In some implementations, receivermodule 104 may be on the train. For example, receiver module 104 may bebuilt into a control panel on the train, or implemented as anapplication on a mobile device on the train (e.g. the application may bedownloaded onto a smartphone, laptop, or wearable device used by aconductor/engineer on the train). In some implementations, receivermodule 104 may be in a location from which the train receives controlsignals. For example, the train may be remotely controlled from acentral command center (e.g., the train may receive signals from thecentral command center to start, stop, and turn), and receiver module104 may be built into a control panel at the central command center, orimplemented as an application on a mobile device in the central commandcenter (e.g. the application may be downloaded onto a smartphone,laptop, or wearable device used by an operator in the central commandcenter). In some implementations, receiver module 104 may becommunicatively coupled to all vibration sensors on track 106 and to alltrains running on track 106.

Receiver module 104 may receive vibration notifications and sensoridentification codes from vibration sensors 102 a-i. Receiver module 104may identify, based on a position of a train along track 106, a subsetof vibration sensors 102 a-i from which vibration notifications areexpected. The vibration sensors in the subset may be the vibrationsensors in the vicinity of the train that should experience vibrationlevels above a threshold level if track 106 is defect-free. For example,if a threshold level is set for vibration sensors 102 a-i (and othervibration sensors along track 106) such that when a train is movingalong a defect-free part of track 106, all vibration sensors withinthree miles of the train experience vibrations above the thresholdlevel, and if vibration sensors 102 a-i are spaced one mile apart and atrain is somewhere between vibration sensors 102 d and 102 e, receivermodule 104 may identify the subset of vibration sensors 102 b-g. If thetrain is somewhere between vibration sensors 102 c and 102 d, receivermodule 104 may identify the subset of vibration sensors 102 a-f. In someimplementations, the subset may not include vibration sensors behind thetrain, in which case the subset may, for example, include vibrationsensors 102 b-d and not vibration sensors 102 e-g, if the train isbetween vibration sensors 102 d and 102 e and moving toward vibrationsensor 102 d. Receiving vibration notifications from all vibrationsensors in the identified subset may indicate that the segment of track106 that includes such sensors is defect-free.

A vibration notification not being received from one of the vibrationsensors in an identified subset may be indicative of a faulty sensor ora broken/cracked part of a track. The likelihood of a broken/crackedpart of track increases if expected vibration notifications are notreceived from two or more vibration sensors in a row. If vibrationnotifications are received, for example, from vibration sensors 102 band 102 d but not vibration sensor 102 c, it may be more likely thatthere is something wrong with vibration sensor 102 c than that track 106is broken/cracked somewhere between vibration sensors 102 b and 102 d.Receiver module 104 may determine whether vibration notifications havenot been received from consecutive, with respect to the predeterminedorder, vibration sensors in the subset. In some implementations, if somevibration notifications have been received, receiver module 104 may usesensor identification codes received with the vibration notifications todetermine which members of the subset transmitted the vibrationnotifications, and determine whether any of the rest of the members ofthe subset are adjacent to one another in the predetermined order.Continuing with the above example of the identified subset of vibrationsensors 102 b-g, receiver module 104 may determine whether vibrationnotifications have not been received from any consecutive pairs ofvibration sensors within the subset (e.g., vibration sensors 102 b and102 c, vibration sensors 102 c and 102 d, and so on). In someimplementations, receiver module 104 may determine whether vibrationnotifications have not been received from any group of three consecutivevibration sensors within the subset (e.g., vibration sensors 102 b-d,vibration sensors 102 c-e, and so on), or any other number ofconsecutive vibration sensors.

In some implementations, receiver module 104 may store the predeterminedorder of vibration sensors 102 a-i, and a list of sensor identificationcodes and data indicative of physical locations of the respectivevibration sensors. For example, receiver module 104 may store a list ofsensor identification codes, corresponding to vibration sensors 102 a-i,in the order that vibration sensors 102 a-i are placed on track 106, andgeographic coordinates for the physical location of at least some of thevibration sensors. In some implementations, receiver module 104 maystore indications of physical locations of some vibration sensorsrelative to those of other vibration sensors (e.g., vibration sensor 102a is at coordinates XYZ, vibration sensor 102 b is half a mile east ofvibration sensor 102 a, vibration sensor 102 c is one mile east ofvibration sensor 102 a, etc.; or vibration sensor 102 a is atcoordinates XYZ and vibration sensors 102 b-i are evenly spaced everyquarter-mile to the south in that order).

Receiver module 104 may determine, based on the list, a physicallocation of a vibration sensor, in an identified subset, from which avibration notification was not received. For example, receiver module104 may determine that a vibration notification was expected but notreceived from vibration sensor 102 e, and may use geographic coordinatesin a stored list to determine where vibration sensor 102 e is physicallylocated. The absence of an expected vibration notification fromvibration sensor 102 e may indicate that vibration sensor 102 e hasmalfunctioned, or that there is a defect in a portion of track 106between vibration sensors 102 d and 102 f. The latter may be more likelyif an expected vibration notification is also not received fromvibration sensor 102 d and/or 102 f. Receiver module 104 may request arepair for the physical location. For example, receiver module 104 mayrequest that a sensor repair team be sent to the physical location ofvibration sensor 102 e (e.g., if vibration notifications have beenreceived from vibration sensors 102 d and 102 f but not 102 e), or thata track repair team check the portion of track 106 between vibrationsensors 102 d and 102 f for breaks/cracks and repair any suchbreaks/cracks (e.g., if vibration notifications were expected but notreceived from at least two consecutive vibration sensors of vibrationsensors 102 d-f).

In some implementations, vibration sensors in the subset identified byreceiver module 104 may be vibration sensors that a train is travelingtoward and that are less than a predetermined distance from the train.For example, a train may be between vibration sensors 102 h and 102 itraveling toward vibration sensor 102 h, and the identified subset maybe vibration sensors 102 e-h. Receiver module 104 may activate emergencybrakes of the train in response to a determination that vibrationnotifications have not been received from consecutive vibration sensorsin the subset. Continuing with the above example, receiver module 104may activate emergency brakes of the train if vibration notificationswere not received from vibration sensors 102 e and 102 f. In someimplementations, receiver module 104 may trigger an alarm (e.g., toindicate that the train should be stopped or re-routed) if expectedvibration notifications are not received from consecutive vibrationsensors in front of the train.

FIG. 2 is a block diagram of an example vibration sensor 200. Vibrationsensor 200 may be an implementation of one of vibration sensors 102 a-iof FIG. 1. In FIG. 2, system 200 includes vibration conversion module202, power storage module 204, vibration detection module 206,amplification module 208, identification module 210, and transmittermodule 212. A module may include a set of instructions encoded on amachine-readable storage medium and executable by a processor. Inaddition or as an alternative, a module may include a hardware devicecomprising electronic circuitry for implementing the functionalitydescribed below.

Vibration conversion module 202 may generate electrical charge inresponse to vibrations experienced by vibration sensor 200. Vibrationsensor 200 may be placed on a track, and may experience vibrations whena train is moving on the track in the vicinity (e.g., within a fewmiles) of vibration sensor 200. The strength of vibrations (i.e.,vibration level) experienced by vibration sensor 200 may be inverselyproportional to its distance from a train on the track; the strongestvibrations may be experienced when a train passes directly overvibration sensor 200. Vibration conversion module 202 may include, forexample, a piezoelectric material (e.g., piezoelectric crystal) ormagnetostrictive material.

Power storage module 204 may store generated electrical charge. Powerstorage module 204 may include, for example, a capacitor for storingelectrical charge that is generated by vibration conversion module 202when a train is moving near vibration sensor 200. Electrical chargestored in power storage module 204 may be used to power other modules(e.g., amplification module 208, as discussed further below) invibration sensor 200. Power storage module 204 may accumulate enoughelectrical charge from track vibrations to allow vibration sensor 200 tooperate without another (e.g., external) power source.

Vibration detection module 206 may determine whether vibration levelsexperienced by vibration sensor 200 exceed a threshold level. Thethreshold level may be set based on how much vibration is experienced bya vibration sensor within a certain distance of a train, on a track onwhich vibration sensor 200 is placed, when the track has no defects, asdiscussed above with respect to FIG. 1. In some implementations,vibration detection module 206 may include a comparator for comparingthe threshold level with a vibration level experienced by vibrationsensor 200. In some implementations, vibration detection module 206 maydetermine whether an amount of electrical charge generated correspondsto a vibration level above the threshold level.

Amplification module 208 may use electrical charge stored in powerstorage module 204 to boost electrical signals used to transmitvibration notifications and a sensor identification code. In someimplementations, amplification module 208 may boost a signal for avibration notification for an oncoming train by using electrical chargethat was stored in power storage module 204 while the previous trainpassed over vibration sensor 200. Thus, vibration sensor 200 may usevibrations caused by previous trains to generate electrical charge toboost vibration notifications for future trains, eliminating the needfor an external power source.

Identification module 210 may store a sensor identification code forvibration sensor 200. For example, identification module 210 may includea non-volatile register that holds alphanumeric characters of the sensoridentification code unique to vibration sensor 200. The (same) sensoridentification code may be transmitted with each vibration notificationoriginating from vibration sensor 200.

Transmitter module 212 may wirelessly transmit vibration notificationsand the sensor identification code. A vibration notification and sensoridentification code may be transmitted in response to vibration levelsabove a threshold level, as discussed above with respect to FIG. 1.Vibration notifications and the sensor identification code may bewirelessly received by a receiver module (e.g., receiver module 104). Ifvibration levels experienced by vibration sensor 200 are below thethreshold level, transmitter module 212 may not transmit anything, thusminimizing power consumption of vibration sensor 200.

FIG. 3 is a block diagram of an example device 300 that includes amachine-readable storage medium encoded with instructions to enabledetection of a condition needing repair along a track. In some examples,device 300 may implement a receiver module (e.g., receiver module 104 ofFIG. 1). Device 300 may be communicatively coupled to a plurality ofvibration sensors (e.g., vibration sensors 102 a-i) on a track (e.g.,track 106). In FIG. 3, system 300 includes processor 302 andmachine-readable storage medium 304.

Processor 302 may include a central processing unit (CPU),microprocessor (e.g., semiconductor-based microprocessor), and/or otherhardware device suitable for retrieval and/or execution of instructionsstored in machine-readable storage medium 304. Processor 302 may fetch,decode, and/or execute instructions 306, 308, and 310 to enabledetection of a condition needing repair along a track, as describedbelow. As an alternative or in addition to retrieving and/or executinginstructions, processor 302 may include an electronic circuit comprisinga number of electronic components for performing the functionality ofinstructions 306, 308, and/or 310.

Machine-readable storage medium 304 may be any suitable electronic,magnetic, optical, or other physical storage device that contains orstores executable instructions. Thus, machine-readable storage medium304 may include, for example, a random-access memory (RAM), anElectrically Erasable Programmable Read-Only Memory (EEPROM), a storagedevice, an optical disc, and the like. In some implementations,machine-readable storage medium 304 may include a non-transitory storagemedium, where the term “non-transitory” does not encompass transitorypropagating signals. As described in detail below, machine-readablestorage medium 304 may be encoded with a set of executable instructions306, 308, and 310.

Instructions 306 may identify, based on a position of a train along atrack, a subset of a plurality of vibration sensors from which vibrationnotifications are expected. The plurality of vibration sensors may bearranged in a predetermined order on the track. In some implementations,the predetermined order of the plurality of vibration sensors may bestored in device 300, and may be used by instructions 306 to identifythe subset. The vibration sensors in the subset may be the vibrationsensors in the vicinity of the train that should experience vibrationlevels above a threshold level if the track is defect-free, as discussedabove with respect to FIG. 1.

Instructions 308 may determine whether vibration notifications have notbeen received from consecutive, with respect to the predetermined order,vibration sensors in the subset. In some implementations, if somevibration notifications have been received, instructions 308 may usesensor identification codes received with the vibration notifications todetermine which members of the subset transmitted the vibrationnotifications, and determine whether any of the rest of the members ofthe subset are adjacent to one another in the predetermined order. Insome implementations, instructions 308 may determine whether vibrationnotifications have not been received from any consecutive pairs ofvibration sensors (or from any group of three consecutive vibrationsensors, or any other number of consecutive vibration sensors) withinthe subset, as discussed above with respect to FIG. 1.

Instructions 310 may trigger an alarm in response to a determinationthat vibration notifications have not been received from consecutivevibration sensors in the subset. Such a determination may indicate thatsomething is wrong with the segment of track that includes theconsecutive vibration sensors from which expected vibrationnotifications were not received (e.g., track may be cracked or broken).In some implementations, the alarm may indicate that the train should bestopped or re-routed. For example, such an alarm may be triggered if theconsecutive vibration sensors from which expected vibrationnotifications were not received are in front of the train (i.e., thetrain is moving toward such vibration sensors).

FIG. 4 is a block diagram of an example device 400 that includes amachine-readable storage medium encoded with instructions to enableidentification of a location of a condition needing repair along atrack. In some examples, device 400 may implement a receiver module(e.g., receiver module 104 of FIG. 1). Device 400 may be communicativelycoupled to a plurality of vibration sensors (e.g., vibration sensors 102a-i) on a track (e.g., track 106). In FIG. 4, system 400 includesprocessor 402 and machine-readable storage medium 404.

As with processor 302 of FIG. 3, processor 402 may include a CPU,microprocessor (e.g., semiconductor-based microprocessor), and/or otherhardware device suitable for retrieval and/or execution of instructionsstored in machine-readable storage medium 404. Processor 402 may fetch,decode, and/or execute instructions 406, 408, 410, 412, 414, and 416 toenable identification of a location of a condition needing repair alonga track, as described below. As an alternative or in addition toretrieving and/or executing instructions, processor 402 may include anelectronic circuit comprising a number of electronic components forperforming the functionality of instructions 406, 408, 410, 412, 414,and/or 416.

As with machine-readable storage medium 304 of FIG. 3, machine-readablestorage medium 404 may be any suitable physical storage device thatstores executable instructions. Instructions 406, 408, and 410 onmachine-readable storage medium 404 may be analogous to instructions306, 308, and 310, respectively, on machine-readable storage medium 304.Instructions 410 may determine whether vibration notifications have notbeen received from consecutive vibration sensors in an identified subsetof a plurality of vibration sensors. Instructions 412 may activateemergency brakes of a train in response to a determination thatvibration notifications have not been received from consecutivevibration sensors in the subset. For example, the identified subset maybe a group of vibration sensors within a certain distance in front ofthe train (i.e., in the direction the train is moving), and thedetermination that vibration notifications have not been received fromconsecutive vibration sensors in the subset may indicate that part ofthe track in front of the train is broken or cracked. Instructions 412may activate emergency brakes of the train to prevent the train fromreaching the broken/cracked part of the track and derailing.

Instructions 414 may determine, based on a list of sensor identificationcodes and data indicative of physical locations of the respectivevibration sensors, a physical location of a vibration sensor, in thesubset, from which a vibration notification was not received. The listmay be stored machine-readable storage medium 404 or in another part ofdevice 400. In some implementations, instructions 414 may use geographiccoordinates in the list to determine where the vibration sensor isphysically located, as discussed above with respect to FIG. 1. Theabsence of an expected vibration notification from the vibration sensormay indicate that the vibration sensor has malfunctioned, or that thereis a defect in a portion of track near the vibration sensor.

Instructions 416 may request a repair for a physical location. Forexample, if an expected vibration notification has not been receivedfrom a particular vibration sensor but vibration notifications have beenreceived from vibration sensors on both sides of the particularvibration sensor (e.g., the vibration sensors before and after theparticular vibration sensor with respect to a predetermined order),instructions 416 may request that a sensor repair team be sent to thephysical location of the particular vibration sensor. If vibrationnotifications were expected but not received from at least twoconsecutive vibration sensors in an identified subset, instructions 416may request that a track repair team check the portion of the trackbetween such vibration sensors for breaks/cracks and repair any suchbreaks/cracks.

Methods related to receiving vibration notifications from vibrationsensors are discussed with respect to FIGS. 5-7. FIG. 5 is a flowchartof an example method 500 for detecting a condition needing repair alonga track. Although execution of method 500 is described below withreference to processor 302 of FIG. 3, it should be understood thatexecution of method 500 may be performed by other suitable devices, suchas processor 402 of FIG. 4. Method 500 may be implemented in the form ofexecutable instructions stored on a machine-readable storage mediumand/or in the form of electronic circuitry.

Method 500 may start in block 502, where processor 302 may identify,based on a position of a train along a track, a subset of a plurality ofvibration sensors from which vibration notifications are expected. Theplurality of vibration sensors may be arranged in a predetermined orderon the track. In some implementations, the subset may be identifiedbased on which of the plurality of vibration sensors are less than apredetermined distance from the train. In some implementations, thevibration sensors in the subset may be the vibration sensors in thevicinity of the train that should experience vibration levels above athreshold level if the track is defect-free, as discussed above withrespect to FIG. 1.

In block 504, processor 302 may identify, based on received sensoridentification codes, from which of the vibration sensors in the subseta vibration notification has been received. For example, processor 302may compare received sensor identification codes to sensoridentification codes corresponding to vibration sensors in the subsetand identify matches. Processor 302 may determine that the vibrationsensors corresponding to the matching sensor identification codes arethe vibration sensors from which a vibration notification has beenreceived.

In block 506, processor 302 may determine whether vibrationnotifications have not been received from consecutive, with respect tothe predetermined order, vibration sensors in the subset. For example,processor 302 may determine whether any of the vibration sensors thatare in the subset and that were not identified in block 504 are adjacentto one another in the predetermined order. In some implementations,processor 302 may determine whether vibration notifications have notbeen received from any consecutive pairs of vibration sensors (or fromany group of three consecutive vibration sensors, or any other number ofconsecutive vibration sensors) within the subset, as discussed abovewith respect to FIG. 1.

FIG. 6 is a flowchart of an example method 600 for requesting a repairfor a location along a track. Although execution of method 600 isdescribed below with reference to processor 402 of FIG. 4, it should beunderstood that execution of method 600 may be performed by othersuitable devices, such as processor 302 of FIG. 3. Some blocks of method600 may be performed in parallel with and/or after method 500. Method600 may be implemented in the form of executable instructions stored ona machine-readable storage medium and/or in the form of electroniccircuitry.

Method 600 may start in block 602, where processor 402 may store apredetermined order of a plurality of vibration sensors on a track, anda list of sensor identification codes and data indicative of physicallocations of the respective vibration sensors. For example, processor402 may store a list of sensor identification codes, corresponding torespective vibration sensors on a track, in the order that the vibrationsensors are placed on the track, and geographic coordinates for thephysical location of at least some of the vibration sensors. In someimplementations, processor 402 may store indications of physicallocations of some vibration sensors relative to those of other vibrationsensors, as discussed above with respect to FIG. 1.

In block 604, processor 402 may identify, based on a position of a trainalong the track, a subset of the plurality of vibration sensors fromwhich vibration notifications are expected. In some implementations, thesubset may be identified based on which of the plurality of vibrationsensors are less than a predetermined distance from the train. In someimplementations, the vibration sensors in the subset may be thevibration sensors in the vicinity of the train that should experiencevibration levels above a threshold level if the track is defect-free, asdiscussed above with respect to FIG. 1.

In block 606, processor 402 may determine, based on the list, a physicallocation of a vibration sensor, in the subset, from which a vibrationnotification was not received. In some implementations, processor 402may use geographic coordinates in the list to determine where thevibration sensor is physically located, as discussed above with respectto FIG. 1. The absence of an expected vibration notification from thevibration sensor may indicate that the vibration sensor hasmalfunctioned, or that there is a defect in a portion of track near thevibration sensor.

In block 608, processor 402 may request a repair for the physicallocation. For example, if an expected vibration notification has notbeen received from a particular vibration sensor but vibrationnotifications have been received from vibration sensors on both sides ofthe particular vibration sensor (e.g., the vibration sensors before andafter the particular vibration sensor with respect to a predeterminedorder), processor 402 may request that a sensor repair team be sent tothe physical location of the particular vibration sensor. If vibrationnotifications were expected but not received from at least twoconsecutive vibration sensors in the identified subset, processor 402may request that a track repair team check the portion of the trackbetween such vibration sensors for breaks/cracks and repair any suchbreaks/cracks.

FIG. 7 is a flowchart of an example method 700 for triggering an alarmbased on whether expected vibration notifications are received. Althoughexecution of method 700 is described below with reference to processor302 of FIG. 3, it should be understood that execution of method 700 maybe performed by other suitable devices, such as processor 402 of FIG. 4.Some blocks of method 700 may be performed in parallel with and/or aftermethod 500 or 600. Method 700 may be implemented in the form ofexecutable instructions stored on a machine-readable storage mediumand/or in the form of electronic circuitry.

Blocks 702 and 704 of FIG. 7 may be analogous to blocks 502 and 504,respectively, of FIG. 5. In block 706, processor 302 may determinewhether vibration notifications have not been received from consecutive,with respect to a predetermined order, vibration sensors in anidentified subset of vibration sensors. For example, if some vibrationnotifications have been received, processor 302 may use sensoridentification codes received with the vibration notifications todetermine which members of the subset transmitted the vibrationnotifications, and determine whether any of the rest of the members ofthe subset are adjacent to one another in the predetermined order. Insome implementations, processor 302 may determine whether vibrationnotifications have not been received from any consecutive pairs ofvibration sensors (or from any group of three consecutive vibrationsensors, or any other number of consecutive vibration sensors) withinthe subset, as discussed above with respect to FIG. 1.

If, in block 706, processor 302 determines that there are no consecutivevibration sensors, in the subset, from which vibration notificationshave not been received, method 700 may loop back to block 702. If, inblock 706, processor 302 determines that vibration notifications havenot been received from consecutive vibration sensors in the subset,method 700 may proceed to block 708, in which processor 302 may triggeran alarm. In some implementations, the alarm may indicate that the trainshould be stopped or re-routed. For example, such an alarm may betriggered if the consecutive vibration sensors from which expectedvibration notifications were not received are in front of the train(i.e., the train is moving toward such vibration sensors).

The foregoing disclosure describes receiving vibration notificationsfrom vibration sensors along tracks. The vibration sensors may bepowered by vibrations along the track and may not need an external powersource, minimizing maintenance and operational costs. An alarmindicative of a defect in a track may not be triggered unless multipleconsecutive vibration sensors do not transmit vibration notifications,reducing false positives and increasing fault tolerance.

We claim:
 1. A system comprising: a plurality of vibration sensorsarranged in a predetermined order on a track, wherein each of theplurality of vibration sensors is to: generate electrical charge inresponse to vibrations; transmit vibration notifications in response tovibration levels above a threshold level; and transmit, with eachvibration notification, a sensor identification code stored on therespective vibration sensor; and a receiver module to: receive vibrationnotifications and sensor identification codes from the plurality ofvibration sensors; identify, based on a position of a train along thetrack, a subset of the plurality of vibration sensors from whichvibration notifications are expected; and determine whether vibrationnotifications have not been received from consecutive, with respect tothe predetermined order, vibration sensors in the subset; wherein thereceiver module is communicatively coupled to the plurality of vibrationsensors and to the train.
 2. The system of claim 1, wherein each of theplurality of vibration sensors comprises: a power storage module tostore generated electrical charge; a vibration detection module todetermine whether vibration levels experienced by the respectivevibration sensor exceed the threshold level; and an amplification moduleto use electrical charge stored in the power storage module to boostelectrical signals used to transmit the vibration notifications andsensor identification code, wherein the vibration notifications andsensor identification code are wirelessly transmitted.
 3. The system ofclaim 1, wherein the receiver module is further to: store thepredetermined order of the plurality of vibration sensors, and a list ofsensor identification codes and data indicative of physical locations ofthe respective vibration sensors; determine, based on the list, aphysical location of a vibration sensor, in the subset, from which avibration notification was not received.
 4. The system of claim 3,wherein the receiver module is further to request a repair for thephysical location.
 5. The system of claim 1, wherein vibration sensorsin the subset are vibration sensors that the train is traveling towardand that are less than a predetermined distance from the train, andwherein the receiver module is further to activate emergency brakes ofthe train in response to a determination that vibration notificationshave not been received from consecutive vibration sensors in the subset.6. The system of claim 1, wherein the receiver module is on the train.7. The system of claim 1, wherein the receiver module is in a locationfrom which the train receives control signals.
 8. A machine-readablestorage medium encoded with instructions executable by a processor, themachine-readable storage medium comprising: instructions to identify,based on a position of a train along a track, a subset of a plurality ofvibration sensors from which vibration notifications are expected,wherein the plurality of vibration sensors are arranged in apredetermined order on the track; instructions to determine whethervibration notifications have not been received from consecutive, withrespect to the predetermined order, vibration sensors in the subset; andinstructions to trigger an alarm in response to a determination thatvibration notifications have not been received from consecutivevibration sensors in the subset.
 9. The machine-readable storage mediumof claim 8, further comprising instructions to activate emergency brakesof the train in response to a determination that vibration notificationshave not been received from consecutive vibration sensors in the subset.10. The machine-readable storage medium of claim 8, further comprisinginstructions to determine, based on a list of sensor identificationcodes and data indicative of physical locations of the respectivevibration sensors, a physical location of a vibration sensor, in thesubset, from which a vibration notification was not received.
 11. Themachine-readable storage medium of claim 10, further comprisinginstructions to request a repair for the physical location.
 12. A methodcomprising: identifying, based on a position of a train along a track, asubset of a plurality of vibration sensors from which vibrationnotifications are expected, wherein the plurality of vibration sensorsare arranged in a predetermined order on the track; identifying, basedon received sensor identification codes, from which of the vibrationsensors in the subset a vibration notification has been received; anddetermining whether vibration notifications have not been received fromconsecutive, with respect to the predetermined order, vibration sensorsin the subset.
 13. The method of claim 12, wherein the subset isidentified based on which of the plurality of vibration sensors are lessthan a predetermined distance from the train.
 14. The method of claim12, further comprising: storing the predetermined order of the pluralityof vibration sensors, and a list of sensor identification codes and dataindicative of physical locations of the respective vibration sensors;determining, based on the list, a physical location of a vibrationsensor, in the subset, from which a vibration notification was notreceived; and requesting a repair for the physical location.
 15. Themethod of claim 12, further comprising triggering an alarm in responseto a determination that vibration notifications have not been receivedfrom consecutive vibration sensors in the subset.